通过指标报警,您可以设置多维度的监控指标和Tags,帮助您快速定位Elasticsearch的性能问题,提高运维排查效率。本文以配置集群shard数监控报警、节点个数监控报警和查询队列监控报警为例,为您介绍如何将指标报警配置应用到具体的业务中。
集群shard数监控报警
Elasticsearch 7.x版本开始对单机分片数进行了限制,默认单机分片数不能超过1000。高级监控报警提供的集群分片数监控报警能力,可以对单实例分片总数进行报警。您可以参见评估Shard规划单机分片数,当单机分片总数达到阈值建议优化索引。
- 登录阿里云Elasticsearch控制台。
在左侧导航栏,单击高级监控报警。
在左侧导航栏的报警模块,定义集群shard数监控报警规则及报警联系人,请参见管理报警组、配置报警规则和管理报警联系人。
本文以2核4 GB,3个数据节点的集群为例。按照shard评估,建议单节点的shard数在120~200之间,三个节点的总shard数在360~600之间。当集群shard数大于600时进行WARNING报警,超过900时进行CRITICAL报警。对应的报警规则配置如下。
规则配置的详细参数说明,请参见配置报警规则。本示例的部分参数配置如下。
参数
配置
指标
选择aliyunes.elasticsearch.cluster.stats.indices.shards.count。
tags
instanceId设置为待监控的实例ID。
触发条件
选择阈值报警。设置集群shard数>600进行WARNING报警,>900进行CRITICAL报警。
验证结果。
报警配置成功后,当集群shard数超过设定阈值时,您指定的报警通知人就可以通过钉钉群接收到报警通知,详细信息请参见通过钉钉群接收报警通知。
节点个数监控报警
节点脱离集群后不易被发现,脱离时间太久节点会自动从集群隔离。为解决此问题,您可以配置高级监控报警,对集群中的节点个数进行监控。
规则配置的详细参数说明,请参见配置报警规则。本示例的部分参数配置如下。
参数 | 配置 |
指标 | 选择aliyunes.elasticsearch.cluster.stats.nodes.count。 |
tags | instanceId设置为待监控的实例ID。 |
触发条件 | 选择阈值报警。设置集群节点个数<6进行WARNING报警,<2进行CRITICAL报警。 |
报警配置成功后,当集群中的节点个数小于设定阈值时,您指定的报警通知人就可以通过钉钉群接收到报警通知,详细信息请参见通过钉钉群接收报警通知。
查询队列监控报警
Elasticsearch的查询队列大小默认为1000,当队列堆积严重时,新的请求将被中止。您可以通过阿里云Elasticsearch的高级监控报警功能,对数据节点查询队列的等待任务数进行监控报警。
规则配置的详细参数说明,请参见配置报警规则。本示例的部分参数配置如下。
参数 | 配置 |
指标 | 选择aliyunes.elasticsearch.node.stats.thread_pool.search.queue。 |
tags |
|
触发条件 | 选择阈值报警。设置数据节点查询队列等待任务数>500进行WARNING报警,>900进行CRITICAL报警。 |
报警配置成功后,当数据节点查询队列等待任务数大于设定阈值时,报警通知人就可以通过钉钉群接收到报警通知,详细信息请参见通过钉钉群接收报警通知。